<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Data Acquisition Plugin Service &mdash; Spot 5.0.1.1 documentation</title>
      <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
      <link rel="stylesheet" href="../../../../../_static/style.css" type="text/css" />
    <link rel="shortcut icon" href="../../../../../_static/bd-favicon.png"/>
    <link rel="canonical" href="https://dev.bostondynamics.com/python/bosdyn-client/src/bosdyn/client/data_acquisition_plugin_service.html" />
  <!--[if lt IE 9]>
    <script src="../../../../../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
        <script src="../../../../../_static/jquery.js"></script>
        <script src="../../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
        <script data-url_root="../../../../../" id="documentation_options" src="../../../../../_static/documentation_options.js"></script>
        <script src="../../../../../_static/doctools.js"></script>
        <script src="../../../../../_static/sphinx_highlight.js"></script>
    <script src="../../../../../_static/js/theme.js"></script>
    <link rel="index" title="Index" href="../../../../../genindex.html" />
    <link rel="search" title="Search" href="../../../../../search.html" />
    <link rel="next" title="Data Acquisition Store" href="data_acquisition_store.html" />
    <link rel="prev" title="Data Acquisition Plugin" href="data_acquisition_plugin.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >

          
          
          <a href="../../../../../README.html">
            
              <img src="../../../../../_static/bd-official-white.png" class="logo" alt="Logo"/>
          </a>
              <div class="version">
                5.0.1.1
              </div>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../../../docs/concepts/README.html">Concepts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/about_spot.html">About Spot</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/orbit/about_orbit.html">About Orbit (formerly Scout)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/orbit/orbit_api.html">Orbit API</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/networking.html">Networking</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/base_services.html">Base services</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/geometry_and_frames.html">Geometry and Frames</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/robot_services.html">Robot services</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/estop_service.html">E-Stop</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/keepalive_service.html">KeepAlive (BETA)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/audio_visual.html">Audio Visual</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/lease_service.html">Lease</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/developing_api_services.html">Developing API Services</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/service_customization.html">Service Customization</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/faults.html">Faults</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/autonomy/README.html">Autonomy services</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/graphnav_tech_summary.html">Autonomy Technical Summary</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/autonomous_navigation_code_examples.html">Autonomous navigation code examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/components_of_autonomous_navigation.html">Components of autonomous navigation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/docking.html">Docking</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/typical_autonomous_navigation_use_case.html">Typical autonomous navigation use case</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/autonomous_navigation_services.html">Autonomous navigation services</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/graphnav_service.html">GraphNav service</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/graphnav_map_structure.html">GraphNav map structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/graphnav_area_callbacks.html">GraphNav area callbacks</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/initialization.html">Initialization</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/localization.html">Localization</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/graphnav_and_robot_locomotion.html">GraphNav and robot locomotion</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/missions_service.html">Missions service</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/autowalk_service.html">Autowalk service</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/network_compute_bridge.html">Network compute bridge</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/auto_return.html">AutoReturn service</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/directed_exploration.html">Directed Exploration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/autonomy/gps.html">GPS</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/choreography/README.html">Choreography</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/choreography_service.html">Choreography Service</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/move_reference.html">Move Reference Guide</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/custom_gait.html">CustomGait Reference</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/choreographer_setup.html">Choreographer Setup</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/choreographer.html">Choreographer Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/robot_controls_in_choreographer.html">Robot Connections in Choreographer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/animations_in_choreographer.html">Animations in Choreography</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/animation_file_specification.html">Animation File Format</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/choreography_in_tablet.html">Tablet Choreography Mode</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/choreography/choreography_in_autowalk.html">Choreography Actions in Autowalk</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/joint_control/README.html">Joint Control API</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/joint_control/supplemental_data.html">Supplemental Robot Information</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../../docs/concepts/joint_control/knee_torque_limits.html">Knee Torque Limits</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/arm/README.html">Spot Arm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/arm/arm_specification.html">Arm and Gripper Specification</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/arm/arm_concepts.html">Concepts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/arm/arm_services.html">Services</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/concepts/data.html">Spot Data</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/data_acquisition_overview.html">Data Acquisition Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/data_acquisition_output.html">Data Acquisition Output</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/writing_services_for_data_acquisition.html">Integrate Payloads with the API</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/data_buffer_overview.html">Data Buffer Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/bddf.html">BDDF File Format</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/concepts/data_acquisition_thermal_raw.html">Thermal Raw Data Format</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../../../docs/python/README.html">Python</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/python/quickstart.html">Quickstart</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/python/understanding_spot_programming.html">Understanding Spot Programming</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../examples/README.html">Examples</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/basic_service_examples.html">Basic Service Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/hello_spot/README.html">Hello Spot</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/directory/README.html">Directory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_robot_state/README.html">Get Robot State</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_robot_state_async/README.html">Get Robot State Async</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_image/README.html">Get Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_world_objects/README.html">Get World Objects</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_mission_state/README.html">Get Mission State</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/estop/README.html">E-Stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/time_sync/README.html">Time Sync</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/comms_test/README.html">Comms Test</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/disable_ir_emission/README.html">IR Enable/Disable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/reset_safety_stop/README.html">Reset Safety Stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/audio_visual/audio_visual_params/README.html">Audio Visual Params</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/audio_visual/audio_visual_behaviors/README.html">Audio Visual Behaviors</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/robot_behavior_examples.html">Robot Behavior and Commands Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/stance/README.html">Stance</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/frame_trajectory_command/README.html">Frame Trajectory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/spot_light/README.html">Spot Light</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/upload_choreographed_sequence/README.html">Upload Choreographed Sequence</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/xbox_controller/README.html">Xbox Controller</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/wasd/README.html">WASD</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/docking/README.html">Docking</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/animation_recorder/README.html">Animation Recorder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/auto_return/README.html">Auto Return</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/fan_command/README.html">Fan Commands</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_wasd/README.html">ARM WASD</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/arm_examples.html">Arm Command Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_simple/README.html">Simple Arm Motion</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_stow_unstow/README.html">Stow/unstow Arm</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_freeze/README.html">Arm Freeze</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_and_mobility_command/README.html">Arm and Mobility Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_with_body_follow/README.html">Arm Command with Body Following</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_constrained_manipulation/README.html">Arm Constrained Manipulation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_trajectory/README.html">Arm Trajectory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_trajectory/README.html#long-trajectory">Long Trajectory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_joint_move/README.html">Arm Joint Move Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_force_control/README.html">Arm Force Control Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_grasp/README.html">Arm Grasp Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_grasp_carry_overrides/README.html">Arm Grasp and Carry Overrides</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_gaze/README.html">Arm Gaze Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_surface_contact/README.html">Arm Command with Surface Contact</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_door/README.html">Arm Door Opening Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_walk_to_object/README.html">Walk to And Pick Up Object</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_gcode/README.html">Writing Gcode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/gripper_camera_params/README.html">Gripper Camera Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_impedance_control/README.html">Arm Impedance Control</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/inverse_kinematics/README.html">Inverse Kinematics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/arm_wasd/README.html">Arm WASD</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/joint_control/README.html">Wiggle Arm</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/payloads_examples.html">Payloads and Registration Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/payloads/README.html">Payloads</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/self_registration/README.html">Self Registration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/service_faults/README.html">Faults</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/velodyne_client/README.html">Velodyne</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/core_io_gpio/README.html">CORE I/O GPIO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/metrics_over_coreio/README.html">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/metrics_over_coreio/README.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/metrics_over_coreio/README.html#components">Components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/metrics_over_coreio/README.html#recommended-debugging">Recommended debugging</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/extensions/README.html">Extensions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/perception_world_objects_examples.html">Perception and World Objects Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_image/README.html">Get Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_world_objects/README.html">Get World Objects</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/world_object_with_image_coordinates/README.html">World Object With Image Coordinates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/world_object_mutations/README.html">World Object Mutations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/visualizer/README.html">Visualizer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/gripper_camera_params/README.html">Gripper Camera Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/spot_cam/README.html">Spot CAM Services</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/spot_cam/README.html#spot-cam-video-core-io-extension-example">Spot Cam Video Core IO Extension Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/stitch_front_images/README.html">Stitch Front Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_depth_plus_visual_image/README.html">Project Depth Data on Visual Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/service_customization/custom_parameter_image_server/README.html">Custom Parameter Image Server</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/fiducial_follow/README.html">Fiducial Follow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/spot_tensorflow_detector/README.html">Tensorflow Detector</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/service_customization/custom_parameter_ncb_worker/README.html">Custom Parameter Tensorflow Detector</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/network_compute_bridge/README.html">Machine Learning with the Network Compute Bridge</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/network_compute_bridge/fire_extinguisher_server/README.html">Fire Extinguisher Detector with the Network Compute Bridge</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/ray_cast/README.html">Ray Cast</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/user_nogo_regions/README.html">No-Go Regions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/gps_service/README.html">GPS</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/logging_examples.html">Logging Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/bddf_download/README.html">BDDF Download</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/data_buffer/README.html">Data Buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/data_service/README.html">Data Service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/logging/README.html">Logging</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/log_status/README.html">Log Status</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/data_acquisition_examples.html">Data Acquisition Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/data_acquisition_service/README.html">Data Acquisition Service</a><ul>
<li class="toctree-l5"><a class="reference internal" href="../../../../examples/data_acquisition_service/signals_coreio_modem_plugin/README.html">Modem Signals</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/service_faults/README.html">Faults</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/service_customization/custom_parameter_image_server/README.html">Custom Parameter Image Service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/service_customization/custom_parameters_data_acquisition/README.html">Custom Parameter Data Acquisition Plugin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_image/README.html">Test Image Service Implementation with Get Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/post_docking_callbacks/README.html">Post Docking Callbacks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/cloud_upload/README.html">Cloud Upload</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/comms_mapping/README.html">Comms image service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/comms_mapping/README.html#how-to-use">How to use</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/data_acquisition_service/signals_coreio_modem_plugin/README.html">CoreIO Modem Signals Plugin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/tester_programs/README.html">Tester Programs</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/autonomy_and_missions_examples.html">Autonomy and Missions Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/graph_nav_anchoring_optimization/README.html">Graph Nav Anchoring Optimization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/graph_nav_command_line/README.html">GraphNav and Recording Service Command Line Interfaces</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/graph_nav_command_line/README.html#example-programs">Example Programs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/graph_nav_extract_point_cloud/README.html">Graph Nav Extract Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/graph_nav_view_map/README.html">Graph Nav View Map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/graph_nav_view_gps/README.html">Graph Nav View GPS Data</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/get_mission_state/README.html">Get Mission State</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/remote_mission_service/README.html">Remote Mission Service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/mission_question_answerer/README.html">Mission Question Answerer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/mission_recorder/README.html">Mission Recorder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/replay_mission/README.html">Replay Mission</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/post_docking_callbacks/README.html">Post Docking Callbacks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/area_callback/README.html">Area Callbacks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/edit_autowalk/README.html">Edit Autowalk</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/record_autowalk/README.html">Record Autowalk</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/extract_images_from_walk/README.html">Extract Images from Autowalk</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/network_request_callback/README.html">Network Request Callback</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/network_request_callback/README.html#id1">Network Request Callback</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/remote_mission_service/spot_check/README.html">SpotCheck Mission Service</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/joint_control_examples.html">Joint Control API Examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../examples/docs/orbit.html">Orbit</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/hello_orbit/README.html">Hello Orbit</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/export_run_archives/README.html">Export Run Archives</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/export_site_walk_archives/README.html">Export Sitewalk Archives</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/anomalies/README.html">Anomalies</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/schedule_mission/README.html">Schedule Mission</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/runs_response/README.html">Runs Response</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/send_robot_back_to_dock/README.html">Return to Dock</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/toggle_mission_based_on_weather/README.html">Mission Toggle</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/webhook/README.html">Webhook</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/backups/README.html">Backups</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/webhook_integration/README.html">Webhook Integrations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../examples/orbit/webhook_integration/README.html#example-overview">Example Overview</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../../README.html">Python Reference Guide</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="README.html">Client</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="area_callback.html">Area Callback</a></li>
<li class="toctree-l4"><a class="reference internal" href="area_callback_region_handler_base.html">Area Callback Region Handler</a></li>
<li class="toctree-l4"><a class="reference internal" href="area_callback_service_runner.html">Area Callback Service Runner</a></li>
<li class="toctree-l4"><a class="reference internal" href="area_callback_service_servicer.html">Area Callback Servicer</a></li>
<li class="toctree-l4"><a class="reference internal" href="area_callback_service_utils.html">Area Callback Service Utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="arm_surface_contact.html">Arm Surface Contact</a></li>
<li class="toctree-l4"><a class="reference internal" href="async_tasks.html">Async Tasks</a></li>
<li class="toctree-l4"><a class="reference internal" href="audio_visual.html">Audio Visual</a></li>
<li class="toctree-l4"><a class="reference internal" href="audio_visual_helpers.html">Audio Visual Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="auth.html">Auth</a></li>
<li class="toctree-l4"><a class="reference internal" href="auto_return.html">Auto Return</a></li>
<li class="toctree-l4"><a class="reference internal" href="autowalk.html">Autowalk</a></li>
<li class="toctree-l4"><a class="reference internal" href="bddf.html">BDDF</a></li>
<li class="toctree-l4"><a class="reference internal" href="bddf_download.html">BDDF Download</a></li>
<li class="toctree-l4"><a class="reference internal" href="channel.html">Channel</a></li>
<li class="toctree-l4"><a class="reference internal" href="command_line.html">Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="common.html">Common</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_acquisition.html">Data Acquisition</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_acquisition_helpers.html">Data Acquisition Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_acquisition_plugin.html">Data Acquisition Plugin</a></li>
<li class="toctree-l4 current"><a class="current reference internal" href="#">Data Acquisition Plugin Service</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_acquisition_store.html">Data Acquisition Store</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_buffer.html">Data Buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_chunk.html">Data Chunk</a></li>
<li class="toctree-l4"><a class="reference internal" href="data_service.html">Data Service</a></li>
<li class="toctree-l4"><a class="reference internal" href="directory_registration.html">Directory Registration</a></li>
<li class="toctree-l4"><a class="reference internal" href="directory.html">Directory</a></li>
<li class="toctree-l4"><a class="reference internal" href="docking.html">Docking</a></li>
<li class="toctree-l4"><a class="reference internal" href="door.html">Door</a></li>
<li class="toctree-l4"><a class="reference internal" href="estop.html">E-Stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="error_callback_result.html">Error Callback Result</a></li>
<li class="toctree-l4"><a class="reference internal" href="exceptions.html">Exceptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="fault.html">Fault</a></li>
<li class="toctree-l4"><a class="reference internal" href="frame_helpers.html">Frame Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="graph_nav.html">Graph Nav</a></li>
<li class="toctree-l4"><a class="reference internal" href="gripper_camera_param.html">Gripper Camera Params</a></li>
<li class="toctree-l4"><a class="reference internal" href="gps/README.html">GPS</a><ul>
<li class="toctree-l5"><a class="reference internal" href="gps/aggregator_client.html">Aggregator Client</a></li>
<li class="toctree-l5"><a class="reference internal" href="gps/gps_listener.html">GPS Listener</a></li>
<li class="toctree-l5"><a class="reference internal" href="gps/NMEAParser.html">NMEA Parser</a></li>
<li class="toctree-l5"><a class="reference internal" href="gps/ntrip_client.html">NTRIP Client</a></li>
<li class="toctree-l5"><a class="reference internal" href="gps/registration_client.html">Registration Client</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="image.html">Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="image_service_helpers.html">Image Service Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="inverse_kinematics.html">Inverse Kinematics</a></li>
<li class="toctree-l4"><a class="reference internal" href="ir_enable_disable.html">IR Enable/Disable</a></li>
<li class="toctree-l4"><a class="reference internal" href="keepalive.html">Keep Alive</a></li>
<li class="toctree-l4"><a class="reference internal" href="lease.html">Lease</a></li>
<li class="toctree-l4"><a class="reference internal" href="lease_resource_hierarchy.html">Lease Resource Hierarchy</a></li>
<li class="toctree-l4"><a class="reference internal" href="lease_validator.html">Lease Validator</a></li>
<li class="toctree-l4"><a class="reference internal" href="license.html">License</a></li>
<li class="toctree-l4"><a class="reference internal" href="local_grid.html">Local Grid</a></li>
<li class="toctree-l4"><a class="reference internal" href="log_status.html">Log Status</a></li>
<li class="toctree-l4"><a class="reference internal" href="math_helpers.html">Math Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="manipulation_api_client.html">Manipulation API</a></li>
<li class="toctree-l4"><a class="reference internal" href="map_processing.html">Map Processing</a></li>
<li class="toctree-l4"><a class="reference internal" href="metrics_logging.html">Metrics Logging</a></li>
<li class="toctree-l4"><a class="reference internal" href="network_compute_bridge_client.html">Network Compute Bridge</a></li>
<li class="toctree-l4"><a class="reference internal" href="payload_registration.html">Payload Registration</a></li>
<li class="toctree-l4"><a class="reference internal" href="payload_software_update.html">Payload Software Update</a></li>
<li class="toctree-l4"><a class="reference internal" href="payload_software_update_initiation.html">Payload Software Update Initiation</a></li>
<li class="toctree-l4"><a class="reference internal" href="payload.html">Payload</a></li>
<li class="toctree-l4"><a class="reference internal" href="point_cloud.html">Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="power.html">Power</a></li>
<li class="toctree-l4"><a class="reference internal" href="processors.html">Processors</a></li>
<li class="toctree-l4"><a class="reference internal" href="ray_cast.html">Ray casting</a></li>
<li class="toctree-l4"><a class="reference internal" href="recording.html">Recording</a></li>
<li class="toctree-l4"><a class="reference internal" href="robot_command.html">Robot Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="robot_id.html">Robot ID</a></li>
<li class="toctree-l4"><a class="reference internal" href="robot.html">Robot</a></li>
<li class="toctree-l4"><a class="reference internal" href="robot_state.html">Robot State</a></li>
<li class="toctree-l4"><a class="reference internal" href="sdk.html">SDK</a></li>
<li class="toctree-l4"><a class="reference internal" href="server_util.html">Server Util</a></li>
<li class="toctree-l4"><a class="reference internal" href="service_customization_helpers.html">Service Customization Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="signals_helpers.html">Signals Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="spot_cam/README.html">Spot CAM</a><ul>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/audio.html">Audio</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/compositor.html">Compositor</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/health.html">Health</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/lighting.html">Lighting</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/lights_helper.html">Lights Helper</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/media_log.html">Media Log</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/network.html">Network</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/power.html">Power</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/ptz.html">PTZ</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/streamquality.html">Stream Quality</a></li>
<li class="toctree-l5"><a class="reference internal" href="spot_cam/version.html">Version</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="spot_check.html">Spot Check</a></li>
<li class="toctree-l4"><a class="reference internal" href="time_sync.html">Time Sync</a></li>
<li class="toctree-l4"><a class="reference internal" href="token_cache.html">Token Cache</a></li>
<li class="toctree-l4"><a class="reference internal" href="token_manager.html">Token Manager</a></li>
<li class="toctree-l4"><a class="reference internal" href="units_helpers.html">Units Helpers</a></li>
<li class="toctree-l4"><a class="reference internal" href="util.html">Util</a></li>
<li class="toctree-l4"><a class="reference internal" href="world_object.html">World Object</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/README.html">Core</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/README.html">BDDF</a><ul>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/base_data_reader.html">Base Data Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/block_writer.html">Block Writer</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/bosdyn.html">BDDF Conventions</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/common.html">Common</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/data_reader.html">Data Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/data_writer.html">Data Writer</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/file_indexer.html">File Indexer</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/grpc_proto_reader.html">GRPC Proto Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/grpc_reader.html">GRPC Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/grpc_service_reader.html">GRPC Service Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/grpc_service_writer.html">GRPC Service Writer</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/message_reader.html">Message Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/pod_series_reader.html">POD Series Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/pod_series_writer.html">POD Series Writer</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/protobuf_channel_reader.html">Protobuf Channel Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/protobuf_reader.html">Protobuf Reader</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/protobuf_series_writer.html">Protobuf Series Writer</a></li>
<li class="toctree-l5"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/stream_data_reader.html">Stream Data Reader</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/geometry.html">Geometry</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/util.html">Util</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/deprecated.html">Deprecated</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/README.html">Mission</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/client.html">Client</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/constants.html">Constants</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/exceptions.html">Exceptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/remote_client.html">Remote Client</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/server_util.html">Server Util</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-mission/src/bosdyn/mission/util.html">Util</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../bosdyn-choreography-client/src/bosdyn/choreography/client/README.html">Choreography</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-choreography-client/src/bosdyn/choreography/client/choreography.html">Choreography</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-choreography-client/src/bosdyn/choreography/client/animation_file_to_proto.html">Animation File to Proto</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-choreography-client/src/bosdyn/choreography/client/animation_file_conversion_helpers.html">Animation File to Proto Helpers</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../bosdyn-orbit/src/bosdyn/orbit/README.html">Orbit (formerly Scout)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-orbit/src/bosdyn/orbit/client.html">Client</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-orbit/src/bosdyn/orbit/utils.html">Utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-orbit/src/bosdyn/orbit/exceptions.html">Exceptions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../../bosdyn-scout/src/bosdyn/scout/README.html">Scout (deprecated)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-scout/src/bosdyn/scout/client.html">Client</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-scout/src/bosdyn/scout/utils.html">Utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../../bosdyn-scout/src/bosdyn/scout/exceptions.html">Exceptions</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/python/fetch_tutorial/fetch1.html">Fetch Tutorial</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/fetch_tutorial/fetch2.html">Part 2: Training the Model</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/fetch_tutorial/fetch3.html">Part 3: Evaluating the Model</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/fetch_tutorial/fetch4.html">Part 4: Autonomous Pick Up</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/fetch_tutorial/fetch5.html">Part 5: Detecting People and Playing Fetch</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/fetch_tutorial/fetch6.html">Part 6: Running the model on Core IO</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/python/daq_tutorial/daq1.html">Data Collection Tutorial</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/daq_tutorial/daq2.html">Part 2: Capturing images</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/daq_tutorial/daq3.html">Part 3: Capturing other data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/daq_tutorial/daq4.html">Part 4: Deploying to the CORE I/O</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/daq_tutorial/daq5.html">Part 5: Collecting data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/python/daq_tutorial/daq6.html">Part 6: Processing collected data</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../docs/payload/README.html">Payloads</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/payload_configuration_requirements.html">Payload configuration requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/mechanical_interfaces.html">Mechanical interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/robot_mounting_rails.html">Robot mounting rails</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/guidelines_for_robust_payload_design.html">Guidelines for robust payload design</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/robot_electrical_interface.html">Robot electrical interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/coreio_documentation.html">CORE I/O Documentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/coreio_openvpn_extension.html">CORE I/O OpenVPN Extension</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/configuring_payload_software.html">Configuring payload software</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/docker_containers.html">Dockerize payload software</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/payload/spot_core_documentation.html">Pre-3.2 Spot CORE Documentation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/payload/spot_core_portainer.html">Configuring Docker containers in SpotCORE</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/payload/spot_core_cockpit.html">Spot CORE system management tool: Cockpit</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../../../docs/payload/spot_core_vnc.html">Spot CORE VNC</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../docs/protos/README.html">API Protocol</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../../../../docs/protos/style_guide.html">Style Guide</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../../protos/bosdyn/api/README.html">Proto Reference Guide</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../../../protos/bosdyn/api/proto_reference.html">Protos</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../docs/release_notes.html">Release Notes</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/boston-dynamics/spot-sdk">SDK Repository</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../../../../README.html">Spot</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="../../../../../README.html" class="icon icon-home" aria-label="Home"></a></li>
          <li class="breadcrumb-item"><a href="../../../../../docs/python/README.html">Python Library</a></li>
          <li class="breadcrumb-item"><a href="../../../../README.html">Boston Dynamics Python Reference Guide</a></li>
          <li class="breadcrumb-item"><a href="README.html">Python Client</a></li>
      <li class="breadcrumb-item active">Data Acquisition Plugin Service</li>
      <li class="wy-breadcrumbs-aside">
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="module-bosdyn.client.data_acquisition_plugin_service">
<span id="data-acquisition-plugin-service"></span><h1>Data Acquisition Plugin Service<a class="headerlink" href="#module-bosdyn.client.data_acquisition_plugin_service" title="Permalink to this heading"></a></h1>
<p>A set of helper functions for implementing a Data Acquisition plugin service.</p>
<p>The DataAcquisitionPluginService class in this module is the recommended way to create a
plugin service for data acquisition.  To use it, you must define a function for performing the
data collection with the following signature:</p>
<p><code class="docutils literal notranslate"><span class="pre">def</span> <span class="pre">data_collect_fn(request:AcquirePluginDataRequest,</span> <span class="pre">store_helper:</span> <span class="pre">DataAcquisitionStoreHelper)</span></code></p>
<p>This function is responsible for collecting all of your plugin’s data, and storing it with through
the store_helper. The store_helper (DataAcquisitionStoreHelper) kicks off asynchronous data store calls
for each piece of data, metadata, or images. The plugin service class has an internal helper function
which calls DataAcquisitionStoreHelper.wait_for_Stores_complete method that blocks until all saving
to the data acquisition store is finished. The helper class will monitor the futures for completion and
update the state status and errors appropriately.</p>
<p>If errors occur during the data collection+saving process, use state.add_errors to report which
intended DataIdentifiers had problems:</p>
<p><code class="docutils literal notranslate"><span class="pre">state.add_errors([DataIdentifiers],</span> <span class="pre">'Failure</span> <span class="pre">to</span> <span class="pre">collect</span> <span class="pre">data</span> <span class="pre">1')</span></code></p>
<p>Long-running acquisitions should be sure to call state.cancel_check() occasionally to exit early
and cleanly if the acquisition has been cancelled by the user or a timeout. If your plugin has
extra cleanup that it needs to perform in the event of a cancelled request, wrap your check
in a try-except block that can catch the RequestCancelledError thrown by the cancel_check function,
then perform the cleanup and re-raise the exception. For example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="p">:</span>
    <span class="c1"># Data collection and storage here</span>
    <span class="n">state</span><span class="o">.</span><span class="n">cancel_check</span><span class="p">()</span>
<span class="k">except</span> <span class="n">RequestCancelledError</span><span class="p">:</span>
    <span class="c1"># Perform cleanup here</span>
    <span class="k">raise</span>
</pre></div>
</div>
<p>Note, the data acquisition plugin service helper class will monitor and respond to the GetStatus RPC.
However, the data_collect_fn function should update the status to STATUS_SAVING when it transitions to
storing the data.</p>
<dl class="py exception">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestCancelledError">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">bosdyn.client.data_acquisition_plugin_service.</span></span><span class="sig-name descname"><span class="pre">RequestCancelledError</span></span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestCancelledError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestCancelledError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></p>
<p>The request has been cancelled and should no longer be handled.</p>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.make_error">
<span class="sig-prename descclassname"><span class="pre">bosdyn.client.data_acquisition_plugin_service.</span></span><span class="sig-name descname"><span class="pre">make_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_msg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">error_data</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#make_error"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.make_error" title="Permalink to this definition"></a></dt>
<dd><p>Helper to simplify creating a DataError to send to RequestState.add_errors.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>data_id</strong> (<em>DataIdentifier</em>) – The proto for the data identifier which has an error.</p></li>
<li><p><strong>error_msg</strong> (<em>string</em>) – The error message to associate with the data id.</p></li>
<li><p><strong>error_data</strong> (<em>google.protobuf.Any</em>) – Additional data to be packed with the error.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The DataError protobuf message for this errored data id.</p>
</dd>
</dl>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">bosdyn.client.data_acquisition_plugin_service.</span></span><span class="sig-name descname"><span class="pre">RequestState</span></span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Interface for a data collection to update its state as it proceeds.</p>
<p>Each AcquireData RPC made to the plugin service will create an instance of RequestState
to manage the incoming acquisition request’s overall state, including if it has been
cancelled, any errors that occur, and the current status of the request.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.kNonError">
<span class="sig-name descname"><span class="pre">kNonError</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{1,</span> <span class="pre">2}</span></em><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.kNonError" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.set_status">
<span class="sig-name descname"><span class="pre">set_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">status</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.set_status"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.set_status" title="Permalink to this definition"></a></dt>
<dd><p>Update the status of the request.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>status</strong> (<em>GetStatusResponse.Status</em>) – An updated status enum to be set in the
stored GetStatusResponse.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.set_complete_if_no_error">
<span class="sig-name descname"><span class="pre">set_complete_if_no_error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">logger</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.set_complete_if_no_error"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.set_complete_if_no_error" title="Permalink to this definition"></a></dt>
<dd><p>Mark that everything is complete.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.add_saved">
<span class="sig-name descname"><span class="pre">add_saved</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_ids</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.add_saved"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.add_saved" title="Permalink to this definition"></a></dt>
<dd><p>Record that some data was saved successfully.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>data_ids</strong> (<em>Iterable</em><em>[</em><em>DataId</em><em>]</em>) – Data IDs that have been successfully saved.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.add_errors">
<span class="sig-name descname"><span class="pre">add_errors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_errors</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.add_errors"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.add_errors" title="Permalink to this definition"></a></dt>
<dd><p>Report that some errors have occurred during the data capture.
Use the make_error function to simplify creating data errors.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>data_errors</strong> (<em>Iterable</em><em>[</em><a class="reference internal" href="../../../../bosdyn-core/src/bosdyn/bddf/common.html#bosdyn.bddf.common.DataError" title="bosdyn.bddf.common.DataError"><em>DataError</em></a><em>]</em>) – data errors to include as errors in the status.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.has_data_errors">
<span class="sig-name descname"><span class="pre">has_data_errors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.has_data_errors"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.has_data_errors" title="Permalink to this definition"></a></dt>
<dd><p>Return True if any data errors have been added to this status.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.cancel_check">
<span class="sig-name descname"><span class="pre">cancel_check</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.cancel_check"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.cancel_check" title="Permalink to this definition"></a></dt>
<dd><p>Raises RequestCancelledError if the request has already been cancelled.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestState.is_cancelled">
<span class="sig-name descname"><span class="pre">is_cancelled</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestState.is_cancelled"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestState.is_cancelled" title="Permalink to this definition"></a></dt>
<dd><p>Query if the request is already cancelled.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">bosdyn.client.data_acquisition_plugin_service.</span></span><span class="sig-name descname"><span class="pre">DataAcquisitionStoreHelper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">store_client</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cancel_interval</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>This class simplifies the management of data acquisition stores for a single request.</p>
<p>Request state will be updated according to store progress.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>store_client</strong> (<em>bosdyn.client.DataAcquisitionStoreClient</em>) – A data acquisition store client.</p></li>
<li><p><strong>state</strong> (<a class="reference internal" href="#bosdyn.client.data_acquisition_plugin_service.RequestState" title="bosdyn.client.data_acquisition_plugin_service.RequestState"><em>RequestState</em></a>) – state of the request, to be modified with errors or completion.</p></li>
<li><p><strong>cancel_interval</strong> (<em>float</em>) – How often to check for cancellation of the request while
waiting for the futures to complete.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_client">
<span class="sig-name descname"><span class="pre">store_client</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_client" title="Permalink to this definition"></a></dt>
<dd><p>A data acquisition store client.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>bosdyn.client.DataAcquisitionStoreClient</p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.state">
<span class="sig-name descname"><span class="pre">state</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.state" title="Permalink to this definition"></a></dt>
<dd><p>state of the request, to be modified with errors or completion.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#bosdyn.client.data_acquisition_plugin_service.RequestState" title="bosdyn.client.data_acquisition_plugin_service.RequestState">RequestState</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.cancel_interval">
<span class="sig-name descname"><span class="pre">cancel_interval</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.cancel_interval" title="Permalink to this definition"></a></dt>
<dd><p>How often to check for cancellation of the request while
waiting for the futures to complete.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>float</p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.data_id_future_pairs">
<span class="sig-name descname"><span class="pre">data_id_future_pairs</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.data_id_future_pairs" title="Permalink to this definition"></a></dt>
<dd><p>The data identifier and the associated
future which results from the async store data rpc.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>List[Pair(DataIdentifier, Future)]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_metadata">
<span class="sig-name descname"><span class="pre">store_metadata</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">metadata</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.store_metadata"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_metadata" title="Permalink to this definition"></a></dt>
<dd><p>Store metadata with the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>metadata</strong> (<em>bosdyn.api.AssociatedMetadata</em>) – Metadata message to store.</p></li>
<li><p><strong>data_id</strong> (<em>bosdyn.api.DataIdentifier</em>) – Data identifier to use for storing this data.</p></li>
</ul>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><strong>RPCError</strong> – Problem communicating with the robot.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_image">
<span class="sig-name descname"><span class="pre">store_image</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image_capture</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.store_image"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_image" title="Permalink to this definition"></a></dt>
<dd><p>Store an image with the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>image_capture</strong> (<em>bosdyn.api.ImageCapture</em>) – Image to store.</p></li>
<li><p><strong>data_id</strong> (<em>bosdyn.api.DataIdentifier</em>) – Data identifier to use for storing this data.</p></li>
</ul>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><strong>RPCError</strong> – Problem communicating with the robot.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_data">
<span class="sig-name descname"><span class="pre">store_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">file_extension</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.store_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_data" title="Permalink to this definition"></a></dt>
<dd><p>Store a data message with the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>message</strong> (<em>bytes</em>) – Data to store.</p></li>
<li><p><strong>data_id</strong> (<em>bosdyn.api.DataIdentifier</em>) – Data identifier to use for storing this data.</p></li>
<li><p><strong>file_extension</strong> (<em>string</em>) – File extension to use for writing the data to a file.</p></li>
</ul>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><strong>RPCError</strong> – Problem communicating with the robot.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_data_as_chunks">
<span class="sig-name descname"><span class="pre">store_data_as_chunks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">file_extension</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.store_data_as_chunks"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_data_as_chunks" title="Permalink to this definition"></a></dt>
<dd><p>Store a data message by streaming with the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>message</strong> (<em>bytes</em>) – Data to store.</p></li>
<li><p><strong>data_id</strong> (<em>bosdyn.api.DataIdentifier</em>) – Data identifier to use for storing this data.</p></li>
<li><p><strong>file_extension</strong> (<em>string</em>) – File extension to use for writing the data to a file.</p></li>
</ul>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><strong>RPCError</strong> – Problem communicating with the robot.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_file">
<span class="sig-name descname"><span class="pre">store_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">file_extension</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.store_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.store_file" title="Permalink to this definition"></a></dt>
<dd><p>Store a file with the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file_path</strong> (<em>string</em>) – Path to the file to store.</p></li>
<li><p><strong>data_id</strong> (<em>bosdyn.api.DataIdentifier</em>) – Data identifier to use for storing this file.</p></li>
<li><p><strong>file_extension</strong> (<em>string</em>) – File extension to use for writing the data to the file.</p></li>
</ul>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><strong>RPCError</strong> – Problem communicating with the robot.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.cancel_check">
<span class="sig-name descname"><span class="pre">cancel_check</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.cancel_check"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.cancel_check" title="Permalink to this definition"></a></dt>
<dd><p>Raises RequestCancelledError if the request has already been cancelled.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.wait_for_stores_complete">
<span class="sig-name descname"><span class="pre">wait_for_stores_complete</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionStoreHelper.wait_for_stores_complete"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionStoreHelper.wait_for_stores_complete" title="Permalink to this definition"></a></dt>
<dd><p>Block and wait for all stores to complete. Update state with store success/failures.</p>
<dl class="field-list simple">
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#bosdyn.client.data_acquisition_plugin_service.RequestCancelledError" title="bosdyn.client.data_acquisition_plugin_service.RequestCancelledError"><strong>RequestCancelledError</strong></a> – The data acquisition request was cancelled.</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">bosdyn.client.data_acquisition_plugin_service.</span></span><span class="sig-name descname"><span class="pre">DataAcquisitionPluginService</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">robot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">capabilities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_collect_fn</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">acquire_response_fn</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">executor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">live_response_fn</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">DataAcquisitionPluginServiceServicer</span></code></p>
<p>Implementation of a data acquisition plugin. It relies on the provided data_collect_fn
to implement the heart of the data collection and storage.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>robot</strong> – Authenticated robot object.</p></li>
<li><p><strong>capabilities</strong> – List of DataAcquisitionCapability that describe what this plugin can do.</p></li>
<li><p><strong>data_collect_fn</strong> – Function that performs the data collection and storage. Ordered input
arguments (to data_collect_fn): data_acquisition_pb2.AcquirePluginDataRequest, DataAcquisitionStoreHelper.
Output(to data_collect_fn): None</p></li>
<li><p><strong>acquire_response_fn</strong> – Optional function that can validate a request and provide a timeout deadline. Function returns
a boolean indicating if the request is valid; if False, the response is returned immediately without calling
the data collection function or saving any data. Ordered input arguments (to acquire_response_fn):
data_acquisition_pb2.AcquirePluginDataRequest, data_acquisition_pb2.AcquirePluginDataResponse. Output (to
data_collect_fn): Boolean</p></li>
<li><p><strong>live_response_fn</strong> – Optional function that sends signals data to the robot for purposes of displaying it on the tablet and Orbit during teleoperation. Input argument (to live_response_fn):
data_acquisition_pb2.LiveDataRequest.</p></li>
<li><p><strong>executor</strong> – Optional thread pool.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.logger">
<span class="sig-name descname"><span class="pre">logger</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.logger" title="Permalink to this definition"></a></dt>
<dd><p>Logger used by the service.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>logging.Logger</p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.capabilities">
<span class="sig-name descname"><span class="pre">capabilities</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.capabilities" title="Permalink to this definition"></a></dt>
<dd><p>List of capabilities that describe what
this plugin can do.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>List[DataAcquisitionCapability]</p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.data_collect_fn">
<span class="sig-name descname"><span class="pre">data_collect_fn</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.data_collect_fn" title="Permalink to this definition"></a></dt>
<dd><p>Function that performs the data collection and storage.</p>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.acquire_response_fn">
<span class="sig-name descname"><span class="pre">acquire_response_fn</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.acquire_response_fn" title="Permalink to this definition"></a></dt>
<dd><p>Function that can validate a request and provide a timeout deadline.</p>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.live_response_fn">
<span class="sig-name descname"><span class="pre">live_response_fn</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.live_response_fn" title="Permalink to this definition"></a></dt>
<dd><p>Function that sends signals data to the robot for purposes of displaying it on the tablet and Orbit during teleoperation.</p>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.request_manager">
<span class="sig-name descname"><span class="pre">request_manager</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.request_manager" title="Permalink to this definition"></a></dt>
<dd><p>Helper class which manages the RequestStates created with
each acquisition RPC.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager" title="bosdyn.client.data_acquisition_plugin_service.RequestManager">RequestManager</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.executor">
<span class="sig-name descname"><span class="pre">executor</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.executor" title="Permalink to this definition"></a></dt>
<dd><p>Thread pool to run the plugin service on.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>ThreadPoolExecutor</p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.robot">
<span class="sig-name descname"><span class="pre">robot</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.robot" title="Permalink to this definition"></a></dt>
<dd><p>Authenticated robot object.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="robot.html#bosdyn.client.robot.Robot" title="bosdyn.client.robot.Robot">Robot</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.store_client">
<span class="sig-name descname"><span class="pre">store_client</span></span><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.store_client" title="Permalink to this definition"></a></dt>
<dd><p>Client for the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="data_acquisition_store.html#bosdyn.client.data_acquisition_store.DataAcquisitionStoreClient" title="bosdyn.client.data_acquisition_store.DataAcquisitionStoreClient">DataAcquisitionStoreClient</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.service_type">
<span class="sig-name descname"><span class="pre">service_type</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'bosdyn.api.DataAcquisitionPluginService'</span></em><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.service_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.validate_params">
<span class="sig-name descname"><span class="pre">validate_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService.validate_params"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.validate_params" title="Permalink to this definition"></a></dt>
<dd><p>Validate that any parameters set in the request are valid according the spec.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.AcquirePluginData">
<span class="sig-name descname"><span class="pre">AcquirePluginData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService.AcquirePluginData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.AcquirePluginData" title="Permalink to this definition"></a></dt>
<dd><p>Trigger a data acquisition and store results in the data acquisition store service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>request</strong> (<em>data_acquisition_pb2.AcquirePluginDataRequest</em>) – The data acquisition request.</p></li>
<li><p><strong>context</strong> (<em>GRPC ClientContext</em>) – tracks internal grpc statuses and information.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An AcquirePluginDataResponse containing a request_id to use with GetStatus.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.GetStatus">
<span class="sig-name descname"><span class="pre">GetStatus</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService.GetStatus"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.GetStatus" title="Permalink to this definition"></a></dt>
<dd><p>Query the status of a data acquisition by ID.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>request</strong> (<em>data_acquisition_pb2.GetStatusRequest</em>) – The get status request.</p></li>
<li><p><strong>context</strong> (<em>GRPC ClientContext</em>) – tracks internal grpc statuses and information.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An GetStatusResponse containing the details of the data acquisition.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.GetServiceInfo">
<span class="sig-name descname"><span class="pre">GetServiceInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService.GetServiceInfo"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.GetServiceInfo" title="Permalink to this definition"></a></dt>
<dd><p>Get a list of data acquisition capabilities.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>request</strong> (<em>data_acquisition_pb2.GetServiceInfoRequest</em>) – The get service info request.</p></li>
<li><p><strong>context</strong> (<em>GRPC ClientContext</em>) – tracks internal grpc statuses and information.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An GetServiceInfoResponse containing the list of data acquisition capabilities for the plugin.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.CancelAcquisition">
<span class="sig-name descname"><span class="pre">CancelAcquisition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService.CancelAcquisition"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.CancelAcquisition" title="Permalink to this definition"></a></dt>
<dd><p>Cancel a data acquisition by ID.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>request</strong> (<em>data_acquisition_pb2.CancelAcquisitionRequest</em>) – The cancel acquisition request.</p></li>
<li><p><strong>context</strong> (<em>GRPC ClientContext</em>) – tracks internal grpc statuses and information.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An CancelAcquisitionResponse containing the status of the cancel operation.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.GetLiveData">
<span class="sig-name descname"><span class="pre">GetLiveData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#DataAcquisitionPluginService.GetLiveData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.DataAcquisitionPluginService.GetLiveData" title="Permalink to this definition"></a></dt>
<dd><p>Get the live data available from this plugin.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>request</strong> (<em>data_acquisition_pb2.LiveDataRequest</em>) – The live data request with params.</p></li>
<li><p><strong>context</strong> (<em>GRPC ClientContext</em>) – tracks internal grpc statuses and information (unused).</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Result of live_response_fn.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>response (data_acquisition_pb2.LiveDataResponse)</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">bosdyn.client.data_acquisition_plugin_service.</span></span><span class="sig-name descname"><span class="pre">RequestManager</span></span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Manage request lifecycles and status.</p>
<p>The RequestManager manages some internals of the RequestState class, so it will access its
protected variables.  We leave those variables protected so that users of the RequestState
class are less tempted to fiddle with them incorrectly, but we turn off the linting for the
rest of this file.</p>
<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager.add_request">
<span class="sig-name descname"><span class="pre">add_request</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager.add_request"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager.add_request" title="Permalink to this definition"></a></dt>
<dd><p>Create a new request to manage</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager.get_request_state">
<span class="sig-name descname"><span class="pre">get_request_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager.get_request_state"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager.get_request_state" title="Permalink to this definition"></a></dt>
<dd><p>Get the RequestState object for managing a request.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>request_id</strong> (<em>int</em>) – The request_id for the acquisition request being inspected.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager.get_status_proto">
<span class="sig-name descname"><span class="pre">get_status_proto</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager.get_status_proto"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager.get_status_proto" title="Permalink to this definition"></a></dt>
<dd><p>Get a copy of the current status for the specified request.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>request_id</strong> (<em>int</em>) – The request_id for the acquisition request being inspected.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager.mark_request_cancelled">
<span class="sig-name descname"><span class="pre">mark_request_cancelled</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager.mark_request_cancelled"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager.mark_request_cancelled" title="Permalink to this definition"></a></dt>
<dd><p>Mark a request as cancelled, and no longer able to be updated.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>request_id</strong> (<em>int</em>) – The request_id for the acquisition request being cancelled.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager.mark_request_finished">
<span class="sig-name descname"><span class="pre">mark_request_finished</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager.mark_request_finished"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager.mark_request_finished" title="Permalink to this definition"></a></dt>
<dd><p>Mark a request as finished, and able to be removed later.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>request_id</strong> (<em>int</em>) – The request_id for the acquisition request being completed.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="bosdyn.client.data_acquisition_plugin_service.RequestManager.cleanup_requests">
<span class="sig-name descname"><span class="pre">cleanup_requests</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">older_than_time</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/bosdyn/client/data_acquisition_plugin_service.html#RequestManager.cleanup_requests"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#bosdyn.client.data_acquisition_plugin_service.RequestManager.cleanup_requests" title="Permalink to this definition"></a></dt>
<dd><p>Remove all requests that were completed farther in the past than older_than_time.</p>
<p>Defaults to removing anything older than 30 seconds.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>older_than_time</strong> (<em>float</em>) – Optional time (in seconds) that requests will be removed after.</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

</section>


           </div>
          </div>
          <footer>
  

  <hr/>

  <div role="contentinfo">
    <p>
      
      &copy; Copyright 2025 Boston Dynamics. All rights reserved.
      <a href="https://www.bostondynamics.com/privacy-policy">Privacy Policy</a> | 
      <a href="https://www.bostondynamics.com/terms">Terms of Use</a>

    </p>
  </div> 

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(false);
      });
  </script>
    <!-- Theme Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXX-1"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'UA-XXXXXXX-1', {
          'anonymize_ip': false,
      });
    </script> 

</body>
</html>